Introduction
Mon projet était de recréer le jeu Tetris en Python, jouable avec les touches du clavier, et par la suite développer une intelligence artificielle capable de jouer de manière optimale. Pour ce projet, les bibliothèques pygame et numpy ont été utilisées.
Algorithme de l'IA
L'IA évalue chaque position possible pour chaque rotation possible de la pièce courante. Pour chaque position, elle simule la chute de la pièce et calcule un score basé sur les critères d'évaluation mentionnés ci-dessus.
Pour améliorer ses décisions, l'IA utilise une approche de recherche en profondeur, évaluant les conséquences de ses mouvements sur une pièce à l'avance. Cela permet à l'IA de planifier et d'anticiper les futurs coups.
Les heuristiques sont des règles utilisées pour guider l'IA vers des décisions optimales. Voici quelques heuristiques couramment utilisées dans mon algorithme :
- Score des Hauteurs : Une pénalité est appliquée pour les hauteurs élevées.
- Score des Trous : Une pénalité est appliquée pour chaque trou créé.
- Score des Lignes Complètes : Une récompense est donnée pour chaque ligne complétée.
- Score de Lissage : Une pénalité est appliquée pour la différence de hauteur entre les colonnes adjacentes.
Nous obtenons ainsi le placement idéal, il ne reste plus qu'à déplacer la pièce jusqu'à cette position !
Conclusion
Ce projet m'a permis d'apprendre à utiliser des critères d'évaluation et des algorithmes de recherche en profondeur pour créer une IA invincible à Tetris. Cela démontre comment les principes de l'intelligence artificielle peuvent être appliqués à des jeux vidéo pour créer des expériences de jeu à la fois impressionnantes.